Poco sopra abbiamo detto che la parte più importante del software di sistema è rappresentata dal cosiddetto Sistema Operativo.

Sinteticamente possiamo dire che il Sistema Operativo funge da interfaccia fra il computer e l'utente nel gestire tutte le risorse impiegate, in modo da offrire all'utente (ed agli applicativi) tutti gli strumenti necessari per lo svolgimento delle operazioni richieste.

Esso effettua molte operazioni e molti controlli, come la gestione ottimizzata dell'hard disk (attraverso il file system per la archiviazione e gestione dei file), della CPU, della memoria (RAM) e dell'interazione e della comunicazione con le periferiche come floppy, stampanti, schede di espansione ecc.

E' il Sistema Operativo che organizza l'esecuzione dei programmi, e fornisce i servizi di base su cui questi poggiano.

SISTEMA OPERATIVO

Attualmente esistono sul mercato diversi Sistemi Operativi. Ricordiamo le diverse versioni di Windows (certamente quello più diffuso nel mondo), Mac OS, OS/2, Unix e Linux.

Ognuno di essi ha un proprio ambiente di lavoro diverso dagli altri per le modalità con cui vengono gestite le risorse e per l'interfaccia utente.

Come abbiamo già visto, ciò rende necessario prevedere versioni diverse degli applicativi, in grado di girare sotto diversi Sistemi Operativi: si indica con il termine "portabilità" la possibilità di far girare uno stesso programma sotto diverse piattaforme.

Il cuore del SO prende il nome di "kernel" ed è formato dalle istruzioni basilari per il funzionamento del computer.

Esso è memorizzato nella RAM fino a che il computer rimane acceso. In fase di accensione si deve attendere un certo numero di secondi (che a noi sembrano moltissimi, ma ormai non lo sono più) per permettere al BIOS di eseguire alcune operazioni di test e di avvio, fra cui appunto il caricamento nella RAM del kernel.

Da ormai moltissimi anni siamo abituati ad avere diversi programmi aperti ed a passare da uno all'altro secondo le nostre esigenze. Ad esempio, abbiamo in funzione Outlook Express che ci gestisce la posta elettronica, poi stiamo completando un documento ma abbiamo anche aperto un file Excel nel quale conserviamo una serie di indirizzi.

Ci troveremmo a mal partito se tornassimo improvvisamente ai primi computer, che erano in grado di far girare un solo programma alla volta!

Quando si esegue un programma, esso viene caricato nella RAM e se essa è abbastanza capiente, si può aprire anche un altro programma.

Un programma in esecuzione crea un "processo" o "task" che ovviamente viene gestito dal SO.

Tutti i moderni SO sono in grado di gestire diversi processi attivi contemporaneamente: si parla allora di multitasking per indicare la gestione contemporanea di vari processi attivi, ed evitare così i possibili conflitti.

Multitasking